![]() Systeme equipe d'un processeur et d'une antememoire et procede de commande de cette antememo
专利摘要:
公开号:WO1992005493A1 申请号:PCT/JP1991/001240 申请日:1991-09-18 公开日:1992-04-02 发明作者:Hiromasa Takahashi;Hideyuki Iino 申请人:Fujitsu Limited; IPC主号:G06F12-00
专利说明:
[0001] 明 細 書 プロセ ッ サおよびキャ ッ シュ メ モ リ を備えたシステム な らびに該キヤ ッ シュメ モ リ を制御する方法 技術分野 [0002] 本発明は、 キ ャ ッ シ ュメ モ リ 制御方式に係り、 特に、 べク トルデータ等のデータをアクセスするプロセ ッサに接続され たキ ャ ッ シ ュ メ モ リ を制御する技術に関する ものである。 或る特定のデータア ク セスを行う プロセ ッサ、 例えばべク トノ L r—タをアクセスするべク トル演算型プロセ ッサ等、 に 通常の動作をするキヤ ッ シュメ モ リ を接铙する と、 キヤ ッ シ ュ · ミ ス時のペナルティ ーによってシステム全体の機能が低 下し、 処理速度の改善が図れない場合がある。 そのため、 特 にベク トル化されたデータをアクセスするプロセ ッ サに通常 の動作をするキャ ッ シュメ モ リ を接続しても、 キャ ッ シュ · ミ ス時のペナルティ ーを低下させ、 高速動作を維持する こ と が可能な制御方式が要望されている。 背景技術 [0003] キヤ ッ シュ メ モ リ は、 一般に低速度の主記憶装置と高速度 のプロセ ッサの間に接続され、 該プロセ ッサが高速にデータ をアクセスでき るよ う にする めのものである。 [0004] キャ ッ シュメ モ リ は、 例えば第 1 a 図および第 1 b 図に示 されるよう に、 ライ ンと称する 「エ ン ト リ 」 に分割されてい る。 各エン ト リ は、 通常 16バイ トあるいは 32バィ ト程度のラ イ ンサイ ズにする こ とが多い。 例えば 32バイ 卜のライ ンサイ ズの場合、 第 l a 図に示すよ う に 8 バイ 卜の倍精度の場合に は 4 つの ワー ド (データ) が各ラ イ ンに格納される。 [0005] キヤ ッ シュメ モ リ動作の概要についてコ ピー · バッ ク方式 のキヤ ッ シュメ モ リ を例にと って簡単に説明する。 [0006] キヤ ッ シ ュ メ モ リ を制御する プロセ ッ サが当該キヤ ッ シ ュ メ モ リ に対してア ク セスを行った時にそのデータが当該キヤ ッ シュ メ モ リ 内に有った場合、 すなわち 「キャ ッ シュ . ヒ ッ ト」 の場合には、 読み出 し時は当該データを含むエン ト リ が キヤ ッ シュメ モ リ から読み出され、 書き込み時はキヤ ッ シュ メ モ リ 内の該当ェン ト リ に当該データが書き込まれる。 [0007] —方、 アクセス したデータが当該キャ ッ シュメ モ リ 内に無 かった場合、 つま り 「キャ ッ シ ュ ' ミ ス」 の場合には、 一般 にキヤ ッ シュメ モ リ 内のェン ト リ の置き換えが行われる。 具 体的には、 該当するェン ト リ が主記憶装置から読み出され、 キヤ ッ シュメ モ リ 内の対応するェン ト リ と置き換え られる。 [0008] この場合、 主記憶装置から読み出されてキャ ッ シ ュ メ モ リ 内に格納されるデータ と しては、 1 エン ト リ分 ( 8 バイ トの 倍精度データ の場合には 4 つのデータ、 すなわち 32バイ ト分 のデータ) が読み出される必要がある。 つま り 、 読み出 しァ ク セス時のキャ ッ シ ュ ' ミ スの場合には、 主記憶装置から読 み出されるデータ はアクセスされたデータ 1 つではな く 、 当 該データを包含する 1 エン ト リ 分のデータ ( 32バイ ト) であ る。 書き込みア ク セス時のキ ャ ッ シ ュ · ミ スの場合にも同様 に、 ミ ス ヒ ッ ト したデー タ を包含する 1 エ ン ト リ ( 32バイ ト 分のデータ) を主記憶装置から読み出 してキ ヤ ッ シュ メ モ リ 内の該当エン ト リ と置き換えを行い、 その後でラ イ トデータ 晉さ込む。 [0009] 通常のキヤ ッ シュ メ モ リ では、 一般にプロセ ッサがその命 令、 データをア ク セスする場合には次にア ク セスするデ一夕 が前データの近傍のア ド レ スに格納されている こ とが多いた めに、 キャ ッ シュ ' ミ ス時の処理と して 1 エン ト リ 分のデー タを置き換えても、 その置き換えたエン ト リ のデータ はその 後のア ク セスでヒ ッ 卜する確率は比較的高い。 [0010] これに対し、 例えばべク トル演算型のプロセ ッサが行うベ ク トルデータのメ モ リ アクセスの場合には、 後述するよ う に 問題がある。 [0011] こ こで、 べク トルデータ と は演算に使用される一種のデー 夕の集合を指し、 この中の各データはべク トルデータの 「要 素」 と呼ばれる。 一般に、 べク トルデータのアク セスでよ く 使用されるのは、 連続データアクセスと距離付のデータァク セスである。 連続データアクセスとは、 例えば 8 バイ 卜の倍 精度データの場合には各要素に対応するァ ドレスが 8 バイ ト の距雜 (ス ト ライ ド) で配列されていて、 メ モ リ上にべク ト ルデータの各要素が連続して格納されている場合のアク セス 形態を指す。 これに対して距離付データア ク セス と は、 べク トルデータの各要素の距離 (ス ト ライ ド) が 8 バイ トではな く 、 その倍数の値を持つス ト ラ イ ドで配列されていて、 メ モ リ上にべク トルデータの各要素が所定の間隔 (距離) をおい て格納されている場合のアクセス形態を指す。 以下の記述に おいては便宜上、 「連続データアクセス」 に対し、 距離付デ —タア ク セスに代表されるデータア クセス形態を 「非連続デ —タア ク セス」 と称する。 [0012] 連続データアクセスの場合、 キャ ッ シュ ' ミ ス時に通常の 処理と して、 アクセスされたデータ (つま り要素) を包含す る 1 ェン ト リ分のデータが主記憶装置から読み出されてキヤ ッ シ ュ メ モ リ 内の該当ェ ン ト リ と置き換えられるが、 この場 合、 置き換え られたェン ト リ は次にアクセスされるべきデー タ (要素) を包含しているため、 当該データに対してァクセ ス した場合には必ずヒ ッ 卜する。 言い換える と、 連続データ ア ク セスの場合には次にアクセスするデータが前データのァ ドレスと隣合う ァ ドレスに格納されているので、 キヤ ッ シュ • ミ ス時の処理と して上述したよ う に 1 ェン 卜 リ分のデータ を置き換えても、 その置き換えたェン ト リ のデータ はその後 のアクセスで確実に ヒ ッ 卜 し、 システム全体の効率はそれほ ど低下しない。 [0013] これに対し非連銃データ ア ク セスの場合、 キャ ッ シ ュ . ミ ス時には上述したよう に 1 ェン ト リ分のデータの置き換えが 行われるが、 この場合、 べク トルデータの各要素は所定の距 雜 (ス ト ライ ド) をおいて格納されているために、 置き換え られたェン ト リ には次にアクセスされるべきデータ (要素) は包含されていない。 言い換える と、 非連続データアクセス の場合には次にアクセスするデータが前データのア ド レスか ら所定のス トライ ドをおいて隔てられたア ド レス (多 く の場 合、 他のエ ン ト リ ) に格納されてい るので、 キ ャ ッ シ ュ ' ミ ス時の処理と して 1 ェン 卜 リ 分のデータを置き換えても、 そ の置き換えたエン ト リ の他のデータ (要素) はその後のァク セスでヒ ッ 卜する こ と は殆どない。 つま り、 主記憶装置から 読み出 した 1 エ ン ト リ 分のデー タ の う ち、 そのキ ャ ッ シ ュ · ミ ス したデータを除いて他のデータ は無駄になる。 従って、 その無駄なデータをア ク セス した分だけ処理時間が長 く な り、 ひいてはシ ステム全体の効率が低下する と い う 問題がある。 発明の開示 [0014] 従って、 本発明の目的は、 キャ ッ シュメ モ リ にべク トルデ 一夕等の特定のデータをア ク セスするプロセ ッサを接統した システムにおいて、 非連続データア ク セスを行う際にキヤ ッ シュ · ミ ス時のペナルティ を減少させ、 ひいては高速動作を 実現してシステム全体の効率を向上させる こ と にある。 [0015] この目的を達成するために、 本発明では、 一般にべク トル データのアク セスの種類 (連続データア ク セスまたは非連続 データアクセス) はアクセスの開始時に決定している こ と に 着目 し、 その情報を利用 してキ ヤ ッ シュメ モ リ を制御してい る。 [0016] 従って、 本発明の第 1 の形態によれば、 キャ ッ シュメ モ リ に対してデータをアクセスするプロセ ッサであって、 前記キ ャ ッ シ ュ メ モ リ に対して行う ア ク セスが連続ァ ド レスのデ一 タアクセスであるか非連続ア ドレスのデータアクセスである かを指示する識別信号を出力する手段を具備 し、 それによ つ て前記キャ ッ シュメ モ リ を制御するよう に したこ とを特徴と するプロセ ッサが提供される。 [0017] また、 本発明の第 2 の形態によれば、 プロセ ッサに接続さ れたキヤ ッ シ ュ メ モ リ と主記憶装置とを具備する システムで あって、 前記プロセ ッサは、 前記キャ ッ シ ュ メ モ リ に対して 行う アクセスが連続ァ ド レスのデータアクセスであるか非連 続ア ド レスのデータア ク セスであるかを指示する識別信号を 出力する手段を有し、 前記キャ ッ シ ュ メ モ リ は、 前記出力さ れた識別信号に基づいてキャ ッ シュ · ミ ス時の処理を変える 手段を有し、 それによ つて非連続ア ド レスのデータア ク セス の場合に前記主記憶装置への不要なア ク セスを抑制するよ う 制御する こ とを特徵とする システムが提供される。 [0018] さ らに、 本発明の第 3 の形態によれば、 プロセ ッサに接続 されたキ ヤ ッ シ ュ メ モ リ と主記憶装置とを備えたシステムに おいて該キヤ ッ シュメ モ リ を制御する方法であって、 前記プ 口セ ッサから前記キヤ ッ シュメ モ リ に対し連続ァ ド レスのデ 一夕アクセスであるか非連続ァ ド レスのデータアクセスであ るかを指示する識別信号を送出するステ ッ プと、 該識別信号 が非連铳ア ド レスのデータアクセスを指示している場合であ つて且つキャ ッ シ ュ ' ミ スの場合に当該キャ ッ シ ュ . ミ ス時 の処理を変更するステッ プとを有する こ とを特徴とするキヤ ッ シ ュ メ モ リ の制御方法が提供される。 [0019] 上述した構成 (本発明の第 2 の形態) によれば、 ア ク セス の種類を指示する識別信号がプロセ ッサから対応するキヤ ッ シュ メ モ リ に送られ、 その識別信号に基づいてキャ ッ シュ . ミ ス時の処理を変えるよ う に している。 つま り、 非連続デー タ ア ク セスの場合には主記憶装置への不要なア ク セスが抑制 されるよ う に制御がなされる。 これによつて、 無駄なァクセ スが抑制された分だけ処理時間を短縮する こ とができ、 ひい てはシステム全体の効率を向上させる こ とが可能となる。 [0020] なお、 本発明の第 1 の形態および第 3 の形態による作用効 果な らびに本発明の他の構成上の特徵および作用の詳細につ いては、 添付図面を参照しつつ以下に記述される実施例を用 いて説明する。 図面の簡単な説明 [0021] 第 l a 図および第 l b 図は従来形の連続データア ク セスに おけるキ ャ ッ シ ュ · ヒ ッ ト時の制御形態を示す図、 [0022] 第 2 a 図および第 2 b 図は従来形の連続データア ク セスに おけるキ ャ ッ シ ュ · ミ ス時の制御形態を示す図、 [0023] 第 3 a 図および第 3 b 図は従来形の非連続データア ク セス におけるキャ ッ シ ュ · ヒ ッ ト時の制御形態を示す図、 [0024] 第 4 a 図および第 4 b 図は従来形の非連続データア ク セ ス におけるキ ャ ッ シ ュ · ミ ス時の制御形態を示す図、 [0025] 第 5 図は本発明によるキヤ ッ シュメ モ リ制御方式の原理構 成図、 [0026] 第 6 図は本発明のキヤ ッ シュメ モ リ制御方式が適用 される システムの構成を概略的に示したプロ ッ ク図、 [0027] 第 7 図は第 6 図のシステムの構成を詳細に示 したブロ ッ ク 図、 第 8図は第 7図におけるプロセ ッ サの構成を詳細に示した ブロ ッ ク図、 [0028] 第 9 図は第 8 図におけるァ ド レスュニ ッ 卜 の構成を詳細に 示したブロ ッ ク図、 [0029] 第 10a 図および第 10b 図は本発明の一実施例による非連続 データアクセスにおけるキャ ッ シュ . ヒ ッ ト時の制御形態を 示す図、 そ して [0030] 第 11a 図および第 lib 図は本発明の一実施例による非連続 データアクセスにおけるキャ ッ シュ · ミ ス時の制御形態を示 す図である。 [0031] 発明を実施するための最良の形態 [0032] 以下、 本発明を具体化した実施例をより良く理解するため に、 まず、 従来形における問題点について第 1 a 図〜第 4 b 図を参照しながら説明する。 [0033] 第 l a 図、 第 l b 図および第 2 a 図、 第 2 b 図には従来形 における連続データアクセス時のキヤ ッ シュメ モ リ制御形態 が示される。 [0034] この場合、 べク トルデータは、 第 l a 図に示すよ う にキヤ ッ シ ュ メ モ リ 内のエ ン ト リ 1 の第 4 ワ ー ド (要素 0 ; EL0) 力、 ら連続して格納されている。 [0035] キャ ッ シュ ' ヒ ッ トの場合には、 第 l b 図に示されるよう に、 ク ロ ッ ク に応答して各要素 (e0~e8) は順次アクセスさ れる。 [0036] これに対しキャ ッ シ ュ ' ミ スの場合、 例えば第 2 a 図の例 示では要素 1 ( EL I ) でキャ ッ シュ ' ミ ス した場合には、 該当 するエ ン ト リ (要素 1 ~ 4 ; EL 1〜EL4 に相当) が主記憶装置 から読み出されてキャ ッ シュメ モ リ 内の該当領域に格納され る。 この場合、 主記憶装置に対する 1 回のアクセスで 8 バイ ト分のデータが読み出される。 従って、 主記憶装置に対して 4 回アク セスが行われ、 それによ つて 1 ェン ト リ 分のデータ ( 32バィ ト) が読み出され、 キャ ッ シュ メ モ リ 内の該当ェン ト リ と置き換え られる。 [0037] この場合、 置き換え られたエン ト リ は次の要素 2 ~ 4 (EL2 〜EL4)を包含しているため、 当該要素 2 〜 4 に対 してァクセ ス した場合には必ずヒ ッ 卜する。 つま り、 次にアクセスする データが前データのァ ドレスと隣合う ァ ド レスに格納されて いるので、 キャ ッ シュ ' ミ ス時の処理と して 1 エン ト リ分の データを置き換えても、 その置き換えたェン ト リ のデータ は その後のアクセスで確実に ヒ ッ 卜する。 [0038] このよ う に、 連続データア ク セ スを行った場合には、 キヤ ッ シュ · ミ ス時に通常のキャ ッ シュメ モ リ と同様の処理 (つ ま り主記憶装置へのア ク セ ス) を行っても、 シ ス テム全体の 効率はそれほど低下しない。 [0039] 次に、 非連続データアクセス時のキヤ ッ シュ メ モ リ 制御形 態について第 3 a 図、 第 3 b 図および第 4 a 図、 第 4 b 図を 参照しながら説明する。 [0040] 図示の例では、 べク トルデータの各要素は 32バイ 卜の距離 (ス ト ライ ド) をおいて配列されている。 この場合、 その距 離はキャ ッ シュメ モ リ のライ ンサイズと同一であるため、 ベ ク トルデータの各要素(EL0〜 EL3)は第 3 a 図に示すよう に各 ェン ト リ の第 2 ヮー ドの位置に縱方向に並ぶこ とになる。 [0041] キャ ッ シュ · ヒ ッ トの場合には、 第 3 b 図に示されるよ う に、 ク ロ ッ ク に応答して各要素 (e 0〜e 8 ) は順次アクセスさ れる。 [0042] これに対しキャ ッ シ ュ · ミ スの場合、 例えば第 4 a 図の例 示では要素 1 ( EL 1 ) でキャ ッ シ ュ ' ミ ス した場合には、 当該 要素を包含する 1 ェン ト リ分のデータ ( 32バイ ト) が主記憶 装置から 4 回のアク セスによ り読み出されてキヤ ッ シュメ モ リ 内の該当する 1 ェン ト リ と置き換えられる。 [0043] と ころが、 当該エン ト リ で必要なのは要素 1 の 1 ワ ー ド分 のデータ (EL 1 ) だけであり、 次の要素は他のエ ン ト リ に飛ん でしま うために、 置き換えられたエン ト リ の他のワー ドはそ の後のアクセスでヒ ッ トする こ とはない。 つま り、 主記憶装 置から読み出 した 32バィ トのデータのう ち 24バィ ト分のデー タ ( 3 回のア ク セスに相当) は無駄になる。 言い換える と、 その無駄なデータをアクセス した分だけ、 処理時間が長く な り、 ひいてはシステム全体の効率が低下する。 [0044] 第 5 図は本発明によるキャ ッ シュメ モ リ制御方式の原理構 成を示すもので、 1 はべク トルデータ等の特定のデータをァ クセスするプロセ ッサ、 2 は該プロセ ッサに接続されたキヤ ッ シュメ モ リ 、 3 は該キャ ッ シュメ モ リ との間でデータの授 受を行う主記憶装置を示す。 [0045] プロセ ッ サ 1 は、 キャ ッ シュメ モ リ 2 に対して行う ァクセ スが連続データアクセスであるか非連続データアクセスであ るかを指示する識別信号 S を出力する手段 1 Aを有し、 キ ヤ ッ シュ メ モ リ 2 は、 こ の出力された識別信号に基づいてキヤ ッ シュ , ミ ス時の処理を変える手段 2Aを有しており、 それによ つて非連続データア ク セスの場合に主記憶装置 3 への不要な アクセスを抑制するよ う制御している。 [0046] 次に、 本発明を具体化した実施例について第 6 図〜第 l i b 図を参照しながら説明する。 [0047] 第 6 図には本発明のキヤ ッ シュメ モ リ 制御方式が適用され る システムの構成 ' ¾略的に示される。 [0048] 同図において、 よ は 1 チ ッ プべク トル演算型プロセ ッサ L S I 、 2 は該プロセ ッサからプロセ ッサ用バス 4 を介 してァ ク セス制御を受けるキャ ッ シ ュ メ モ リ 、 3 はメ モ リ 用バス 5 を介してキヤ ッ シュメ モ リ 2 との間でデータおよびァ ド レス の授受を行う主記憶装置を示す。 [0049] プロセ ッサ 1 は、 キャ ッ シュ メ モ リ 2 に対するアクセスの 開始時に、 当該ア ク セスの種類 (すなわち連続データァクセ スであるか非連続データア ク セスであるか) を指示する信号 S (以下、 非連続ア ク セス識別信号と称する) をキャ ッ シ ュ メ モ リ 2 ,こ对して出力する。 キャ ッ シュメ モ リ 2 は、 この非 連続アクセス識別信号 Sを受けてキャ ッ シュ · ミ ス時の処理 を変更する。 具体的には、 非連続ア ク セス識 信号 Sが非連 続データアクセスを指示 している場合に、 キヤ ッ シュメ モ リ 2 は、 ミ ス している該当ェ ン ト リ の更新を行わずに、 主記憶 装置 3 に対 して該当データを直接ア クセスする。 [0050] プロセ ッサ 1 がキャ ッ シュ メ モ リ 2 に対 して連続データァ ク セスを行った場合には、 非連続ア ク セス識別信号 S はネゲ 一 ト (negate)され、 従来のキヤ ッ シュメ モ リ と同様の動作を 行う。 [0051] これに対し非連続データア ク セスの場合には、 プロセ ッサ 1 は非連続ア ク セス識別信号 S をアサ一 ト (assert)し、 キヤ ッ シュ メ モ リ 2 に対して非連続アクセスである こ とを通知す る。 この場合のキャ ッ シュメ モ リ の制御形態については、 後 で説明する。 [0052] 第 7 図は第 6 図のシステムの構成を詳細に示すもので、 プ 口セ ッサ 1 とキャ ッ シュメ モ リ 2 はプロセ ッサ用パ'ス 4 (ァ ド レスバス PAB およびデータバス PDB)を介して互いに接続さ れ、 また、 キャ ッ シュメ モ リ 2 と主記憶装置 3 はメ モ リ 用バ ス 5 (ア ド レスバス MAB およびデータバス MDB)を介して互い に接続されている。 [0053] プロセ ッサ 1 については後で詳細に説明するが、 その構成 要素の一部と して、 命令 INSTを解読する命令デコーダ 13と、 そのデコー ド結果に基づいて上記非連続ア ク セス識別信号 S の生成およびァ ド レス変換を行う ァ ド レスュニ ッ ト 10を有し ている。 この非連続ア ク セス識別信号 S は、 後述するよう に アサ一 ト された時にキヤ ッ シュ メ モ リ 2 の機能を一時的に凍 結も し く は停止させるのに用いられるので、 その意味で、 以 下の記述においてはキャ ッ シュ · フ リ ーズ(Cache Freeze)信 号 CFと も称する。 [0054] キャ ッ シ ュメ モ リ 2 は、 プロセ ッサ用ア ド レスパ'ス PAB を 介 して取り込まれる各ェン ト リ に対応するァ ド レスを格納す るタ グメ モ リ 21と 、 該タ グメ モ リ の内容と上記ァ ド レスバス PAB から取り込まれたア ド レスを比較し、 該取り込まれたァ ドレスが夕 グメ モ リ 21内に格納されているァ ド レスの中に有 る場合にそれを指示するキャ ッ シュ · ヒ ッ ト信号 ( " H " レ ベルの信号 HT) を出力する コ ン ノ、。 レー夕 22と、 該コ ンパ レー 夕の出力の反転信号 HTX を生成するイ ンバー夕 23と、 プロセ ッサ 1 からのキャ ッ シュ · フ リ ーズ信号 CFの反転信号 CFX を 生成するイ ンバータ 24と、 イ ンバータ 23, 24 の出力に応答 し てキ ヤ ッ シ ュ · フ リ ーズ制御信号を生成するア ン ドゲ一 ト 25 と、 後述のェン ト リ取込み制御に基づきメ モ リ 用データバス MDB を介 して取り込まれたデータを一時的に格納する レ ジス タ 26と、 ア ン ドゲー ト 25からのキヤ ッ シュ · フ リ ーズ制御信 号に応答してレジスタ 26からのデータを取り込むデータ メ モ リ 27と、 コ ンパレータ 22の出力 HTに応じてデータ メ モ リ 27か らのデータ またはレジスタ 26からのデータのいずれかを選択 し、 プロセ ッ サ用デー タノ 'ス PDB に送出する セ レ ク タ 28と 、 コ ンパ レ一タ 22の出力 HTおよび上記キ ャ ッ シ ュ · フ リ ーズ信 号 CFに応答して主記憶装置 3 から 1 ェン ト リ 分のデータ取込 みを制御するェン ト リ取込み制御回路 29とを有している。 [0055] この構成において、 連続データアクセス時にキャ ッ シュ · フ リ ーズ信号 CFがネゲー 卜 された場合 (つま り反転信号 CFX が " H " レベル) であって且つキャ ッ シュ · ミ ス (つま り反 転信号 HTX 力《 " H " レベル) の場合には、 ア ン ドゲー ト 25の 出力 (キ ャ ッ シ ュ ' フ リ ーズ制御信号) は " H " レベルとな り、 これに応答して、 データ メ モ リ 27はレジスタ 26からのデ 一夕を取り込む。 一方、 非連続データア ク セス時にキヤ ッ シ ュ · フ リ ーズ信号 CFがアサー ト された場合 (つま り反転信号 CFX 力 "; L " レベル) 、 またはキャ ッ シュ · ヒ ッ ト (つま り 反転信号 HTX が " L " レベル) の場合には、 上記キャ ッ シュ [0056] • フ リ ーズ制御信号が無効 ( " L " レベル) となり、 データ メ モ リ 27はレ ジスタ 26からのデータ取り込みを禁止する。 ま た、 セ レ ク タ 28は、 コ ンパ レータ 22の出力 HTが " H " レベル の時 (つま り キャ ッ シュ · ヒ ッ ト時) にデータ メ モ リ 27から のデータを選択出力 し、 コ ンパ レータ 22の出力 HTが " L " レ ベルの時 (つま り キャ ッ シュ . ミ ス時) に レジスタ 26からの データを選択出力する。 [0057] 第 8 図にはプロセ ッサ 1 の構成が詳細に示される。 [0058] 図示のプロセ ッサは、 前述したよう に 1 チ ッ プのべク トル 演算型プロセ ッサ L S I であって、 チ ッ プ用バス 6 (ァ ドレ スバス CAB およびデータバス CDB)と、 該チ ッ プ用バス 6 に接 続されたア ド レスュニッ ト 1 0と、 同 じ く チッ プ用バス 6 に接 続された命令制御ュニッ ト 1 1と、 チ ッ プ用データバス CD B に 接続されたバス制御ュニッ ト 14と、 チッ プ用バス 6 に接続さ れたべク ト ルュニッ ト 15と、 該べク ト ルュニッ 卜 とバス制御 ュニッ ト 14の間に接続されてパイ プライ ン処理を制御する ス トァパイ プ 16およびロー ドパイプ 17とを有している。 こ こで、 命合制御ュニッ ト 11は、 命合 I NSTを発行する命令キュー (バ ッ フ ァ ) 12と、 該命合 I N STを解読してそのデコー ド結果をァ ド レスュニ ッ ト 10に送出する命令デコーダ 13を有している。 また、 べク ト ルュニッ ト 15は、 べク ト ルデータを格納する べク トルレ ジスタ 30と、 該べク トルレジスタからデータを読 み出すための リ 一 ド · ポー ト 31と、 べク トルレジスタ 30に新 たにデータを書き込むためのライ ト · ポー ト 32と、 それぞれ リ ー ド · ポー ト 31を介 して読み出されたデータの加算処理、 乗算処理および除算処理を行う加算器 33、 乗算器 34および除 算器 35とを有している。 なお、 上述したス ト アパイ プ 16は、 リ ー ド · ポー ト 31を介 してべク トノレレジスタ 30から読み出さ れたデータをス トァ し、 適宜パイ プラ イ ン処理を行ってバス 制御ュニッ ト 14に送出する機能を有 しており、 一方、 ロー ド パイ プ 17は、 バス制御ュニ ッ ト 14を介 してプロセ ッサ用デ一 タバス PDB から取り込まれたデータをロー ドし、 同様に適宜 パイ プライ ン処理を行ってラ イ ト · ポー ト 32に送出する機能 を有している。 [0059] 第 9 図にはァ ド レ スュニ ッ ト 10の構成が詳細に示される。 図示のア ドレスュニッ ト は、 チ ッ プ用のデータバス CDB お よびァ ド レ スバス CAB を介 して取り込まれるス 卜 ライ ドおよ びベー ス ア ド レ スをそれぞれ格納する と共に命合デコーダ 13 のデコー ド結果に応じてそれぞれ対応する ス ト ライ ド情報お よびベー スァ ド レ ス情報を出力する !/ジ スタ 101 および 102 を備えたスカラ レジスタ 100 と、 該レジスタ 101, 102 からそ れぞれ読み出されたス ト ライ ドおよびベー スァ ド レ スを一時 的に格納する レジスタ 111 および 112 と、 ロー ド/ス トア開 始信号 STT によ りデータ " 0 " またはレジスタ 111 からのデ 一夕のいずれかを選択出力するセ レク タ 113 と、 同 じ く ロー ド ス 卜ァ開始信号 STT によ り レジスタ 112 からのデ一夕 ま たは後述の加算器の出力データ のいずれかを選択出力するセ レク タ 114 と、 セ レ ク タ 113 および 114 の出力データを加算 する加算器 115 と、 レジスタ 111 の内容とデータ " 8 " また は " 4 " とを比較して前述のキャ ッ シュ · フ リ ーズ信号 CFを 出力する コ ンパ レータ 116 と、 上記ロー ド Zス ト ア開始信号 STT を入力 してべク トル長 (べク トルデータの長さ) に応じ たア ドレスを計数するカ ウ ンタ 117 と、 チ ッ プ用ア ドレスバ ス CAB を介 して取り込まれるべク トル長のデ一夕を格納する レ ジスタ 118 と、 該レ ジスタ の内容とカ ウ ンタ 117 のカ ウ ン ト値を比較する コ ンパ レータ 119 と、 ア ド レス変換テーブル を備えたバッ フ ァ ( T L B ) を有し、 該テーブルを参照して 加算器 115 の出力に基づきァ ド レス変換処理を行う ァ ド レス 変換回路 120 とを有している。 [0060] この構成において、 キャ ッ シュ ' フ リ ーズ信号 CFは、 コ ン パ レータ 116 においてレジス夕 111 の内容が上述した所定の データ (倍精度データ の場合には 8バイ ト間隔を指示するデ 一夕 " 8 " 、 単精度デー タ の場合には 4バイ ト間隔を指示す るデータ " 4 " ) と一致した場合 (つま り、 プロセ ッ サ 1 が キヤ ッ シュメ モ リ 2 に対して連続データアクセスを行った場 合) にはネゲー ト され、 両者が不一致の場合 (つま り、 非連 続データア ク セスの場合) にはアサー ト される。 また、 コ ン パレー夕 119 は、 カ ウ ンタ 117 のカ ウ ン ト値 (ベク トル長に 応じたア ドレス) がレジスタ 118 の内容と一致した時、 当該 ァ ド レスュニッ ト 10の機能を停止させるための制御信号を出 力する。 また、 ロー ド/ス ト ア開始信号 STT は、 スカラ レジ ス 夕 100 内の レジスタ 101, 102 からデータ読み出 しを開始す る際に出力される。 この場合、 上記セ レク タ 113 および 114 は、 ロー ド Zス トァ開始信号 STT が出力された時にそれぞれ データ " 0 " およびレ ジス タ 112 からのデータを選択出力 し、 それ以降は、 それぞれレジスタ 111 からのデータおよび加算 器 115 の出力データを選択出力する。 [0061] 次に、 非連続データアクセス時のキヤ ッ シュメ モ リ 制御形 態について第 10a 図、 第 10b 図および第 11a 図、 第 lib 図を 参照しながら説明する。 [0062] 図示の例では、 べク トルデータの各要素は 32バィ 卜の間隔 (距離) をおいて配列され、 べク トルデータの各要素(EL0〜 EL3)は第 10a 図に示すよ う に各ェン ト リ の第 2 ヮー ドの位置 に縱方向に並んでいる。 [0063] キャ ッ シュ · ヒ ッ 卜の場合には、 第 10b 図に示されるよ う に、 ク ロ ッ ク に応答して各要素 (e0〜e8) は順次アクセスさ れる。 [0064] これに対しキャ ッ シュ , ミ スの場合、 例えば第 11 a 図の例 示では要素 1 (EL1) でキャ ッ シュ ' ミ ス した場合には、 非連 続アクセス識別信号 Sがアサー ト されているので、 前述した よ う に ミ ス している要素を含む該当ェン ト リ (図示の例では エ ン ト リ 1 ) の更新を行わずに、 当該要素(EL1) は直接主記 憶装置 3 から読み出される (読み出 し動作の場合) 。 従って、 キャ ッ シュ メ モ リ 2 内のエン ト リ 1 は ミ ス したま まの状態で 元のデータを保持する。 書き込み動作時も同様に、 キヤ ッ シ ュ · ミ ス時にキャ ッ シュメ モ リ 2 内の該当エン ト リ の置き換 えは行わずに、 直接主記憶装置 3 に書き込む。 [0065] このよ う に制御する こ とによ り、 非連続データアクセスに おけるキャ ッ シ ュ · ミ ス時の主記憶装置 3 へのア ク セス回数 を 4 回 ( 32バィ トのデータに相当) から 1 回 ( 8バイ トのデ —夕 に相当) に減らすこ とができ、 キャ ッ シュ . ミ ス処理の ための時間は 1 Z 4 に短縮される。 [0066] なお、 この場合にはキャ ッ シュ メ モ リ 2 内の該当エン ト リ 1 はキャ ッ シュ · ミ スのま まの状態であるが、 次の要素のァ クセスで当該エン ト リ 1 がアクセスされる こ と は無く 、 また 次のべク トルデータのアクセス時にこのェン ト リ がアクセス される こ と も極めて稀である。 [0067] このよ う に本実施例の制御形態によれば、 メ モ リ ア ク セス 時のア ク セスの種類 (つま り連続データアクセス Z非連続デ —夕ア ク セスの区別) をプロセ ッサ 1 から対応するキヤ ッ シ ュ メ モ リ 2 に対して通知する こ と によ り 、 非連続データァク セスの場合には主記憶装置 3 への不要なア ク セスを抑制 し、 それによつてキャ ッ シ ュ メ モ リ 2 の ヒ ッ ト率をほとんど低下 させずに、 キャ ッ シ ュ ' ミ ス時のペナルテ ィ ーを低下させる こ とができ る。 その結果、 高速動作を実現し、 ひいてはシス テム全体の効率を向上させる こ とが可能となる。
权利要求:
Claims請 求 の 範 囲 1 . キ ャ ッ シ ュ メ モ リ ( 2 ) に対 してデータをアクセスす る プロセ ッ サ ( 1 ) であ っ て、 前記キヤ ッ シ ュ メ モ リ に対 して行 う ア ク セスが連続ァ ド レ スのデータア ク セスであるか非連続ア ド レスのデータァ クセ スであるかを指示する識別信号 ( S,CF)を出力する手段(1A, 10) を具備し、 それによつて前記キャ ッ シュ メ モ リ を制御す るよ う に したこ とを特徴とするプロセ ッサ。 2 . 命令(INST)の発行および該命合のデコー ドを行う命令 制御手段(12, 13) をさ らに具備 し、 該デコー ド結果に基づい て前記識別信号を出力する こ とを特徴とする請求項 1 に記載 のプロセ ッサ。 3 . 前記識別信号を出力する手段(10)は、 内部のバス(CDB, CAB)を介して取り込まれるべク トルデー 夕の各要素間の距雜を指示する複数のス ト ラ イ ド情報を格納 する と共に前記命令制御手段のデコー ド結果に応じてス ト ラ イ ド情報を出力する手段(101) と、 該出力されたス ト ライ ド情報の値を所定のデータ値("8", "4")と比較する手段(116) とを具備し、 該比較の結果に基づき両者の値が不一致の時に前記識別信 号(CF)をアサ一 卜する こ と を特徵とする請求項 2 に記載のプ oセ ッサ o 4 . 前記識別信号を出力する手段(10)は、 前記比較の結果 に基づき両者の値が一致した時は前記識別信号(CF)をネゲー 卜する こ とを特徵とする請求項 3 に記載のプロセ ッサ。 5 . 前記識別信号を出力する手段(10 )は、 内部のバス(CD B, CAB )を介して取り込まれるべク トルデー タの基準ァ ド レ スを指示する複数のベ一スァ ド レ ス情報を格 鈉する と共に前記命合制御手段のデコー ド結果に応じてべ一 スア ド レ ス情報を出力する手段(102) と、 所定のデータ値( "0" ) または前記出力されたス ト ラ イ ド情 報の値を選択出力する第 1 の選択手段(1 13) と、 前記出力されたベー ス ア ド レ ス情報の値または加算データ の値を選択出力する第 2 の選択手段(1 14) と、 該第 1 および第 2 の選択手段でそれぞれ選択出力されたデ 一夕を加算して前記加算データを生成する手段(115) と、 ァ ドレス変換用のテーブルを備えたバッ フ ァを有し、 該テ —ブルを参照して前記生成された加算データ に基づきァ ドレ ス変換処理を行う手段(120) とを具備する こ とを特徴とする 請求項 3 に記載のプロセ ッサ。 6 . 前記第 1 および第 2 の選択手段は、 べク トルデータの ロ ー ド ス トァが開始された時に、 それぞれ前記所定のデー タ値および前記出力されたベー スア ド レ ス情報の値を選択出 力 し、 該ロー ド Zス ト ア動作の開始以降は、 それぞれ前記出 力されたス ト ライ ド情報の値および前記加算データを選択出 力する ことを特徵とする請求項 5 に記載のプロセッサ。 7 . 前記識別信号を出力する手段(10)は、 べク トルデータのロ ー ド Zス トァが開始された時にその力 ゥ ン ト動作を開始するカ ウ ンタ手段(1 17) と、 内部のバスを介 して取 り込ま れるべ ク ト ノレデータ の長さ に 応じたデータを格納する レ ジス タ手段(118) と、 該レジスタ手段に格納されているデータ値を前記カ ウ ンタ 手段のカ ウ ン ト値と比較する手段(119) とを具備 し、 該比較の結果に基づき両者の値が一致した時に、 前記識別 信号を出力する手段の機能を停止させる こ とを特徴とする請 求項 5 に記載のプロセ ッサ。 8 . 前記プロセ ッ サは 1 チ ッ プのべク トル演算型プロセ ッ サである こ とを特徴とする請求項 1 〜 7 のいずれかに記載の プロセ ッ サ。 9 . プロセ ッサ ( 1 ) に接続されたキャ ッ シュ メ モ リ ( 2 ) と主記憶装置 ( 3 ) とを具備する システムであって、 前記プロセ ッサは、 前記キヤ ッ シュメ モ リ に対 して行う ァ クセスが連続ァ ドレスのデータアクセスであるか非連続ァ ド レスのデータアクセスであるかを指示する識別信号 ( S . CF) を出力する手段(1A, 10) を有し、 前記キ ヤ ッ シュメ モ リ は、 前記出力された識別信号に基づ いてキ ャ ッ シ ュ · ミ ス時の処理を変える手段(2A)を有し、 それによ つて非連続ァ ド レスのデータア ク セスの場合に前 記主記憶装置への不要なアクセスを抑制するよ う制御する こ とを特徴とする システム。 10. 前記キャ ッ シュメ モ リ において、 前記データの各要素 は、 ミ ス している該当ェン ト リ が次の要素のアクセス時にァ ク セスされない程度の距離をおいて配列されている こ とを特 徴とする請求項 9 に記載のシステム。 1 1. 前記キャ ッ シ ュ · ミ ス時の処理を変える手段は、 前記 識別信号がアサ一卜 された場合に ミ ス している該当ェン ト リ の更新を行わずに前記主記憶装置へ直接ア ク セスを行う手段 ( 29, 26, 28 )を具備する こ とを特徵とする請求項 9 に記載のシ ステム。 12. 前記主記憶装置へ直接ア ク セスを行う手段は、 前記識別信号がアサ一卜 された時に前記主記憶装置からの 1 ェン ト リ 分のデータ取込みを制御する手段(29 )と、 該データ取込み制御に基づき外部のバス(MD B ) を介して取 り込まれたデータを一時的に格納する レ ジス タ手段(26)と、 該一時的に格納されたデータをキャ ッ シ ュ · ミ ス時に選択 して前記プロセ ッ サに送出する選択手段(28 )とを具備する こ とを特徴とする請求項 1 1に記載のシステム。 13. 前記キャ ッ シ ュ メ モ リ は、 外部のバス(PAB ) を介して取り込まれる各ェン ト リ に対応 するァ ド レスを格納する第 1 の メ モ リ手段(21 )と、 該格納されているア ドレスと前記外部のバスから取り込ま れたァ ドレスを比較する手段(22)と、 前記識別信号がネゲー 卜 された場合であって且つキヤ ッ シ ュ · ミ スの場合に前記レ ジス タ手段からのデータを取り込む 第 2 の メ モ リ手段(27 )とを具備し、 前記比較の結果に基づき前記選択手段は、 キャ ッ シ ュ · ヒ ッ ト時に前記第 2 のメ モ リ手段からのデータを選択出力 し、 キャ ッ シ ュ · ミ ス時に前記レ ジス タ手段からのデータを選択 出力する こ とを特徴とする請求項 12に記載のシステム。 14. 前記プロセ ッ サは、 命令( I NST)の発行および該命令のデコー ドを行う命令制御 手段(12, 13) と、 内部のバス (CDB, CAB)を介 して取り込まれるべク 卜ルデー 夕の各要素間の距離を指示する複数のス ト ラ イ ド情報を格納 する と共に前記命合制御手段のデコー ド結果に応じてス ト ラ イ ド情報を出力する手段(101) と、 該出力されたス ト ライ ド情報の値を所定のデータ値("8", "4")と比較する手段(116) とを具備し、 該比較の結果に基づき、 両者の値が不一致の時に前記識別 信号(CF)をアサ一ト し、 両者の値が一致した時は前記識別信 号(CF)をネゲー 卜する こ とを特徵とする請求項 13に記載のシ ステム。 15. プロセ ッ サ ( 1 ) に接続されたキャ ッ シ ュ メ モ リ ( 2 ) と主記憶装置 ( 3 ) とを備えたシステムにおいて該キヤ ッ シ ュ メ モ リ を制御する方法であって、 前記プロセ ッサから前記キヤ ッ シュ メ モ リ に対し連続ァ ド レスのデータアクセスであるか非連続ア ドレスのデータァク セスであるかを指示する識別信号を送出するステ ッ プと、 該識別信号が非連続ァ ド レスのデータア ク セスを指示して いる場合であって且つキヤ ッ シュ · ミ スの場合に当該キヤ ッ シュ · ミ ス時の処理を変更するステッ プとを有する こ とを特 徴とするキ ャ ッ シ ュ メ モ リ の制御方法。 16. 前記キ ャ ッ シ ュ · ミ ス時の処理を変更するステ ッ プは、 前記識別信号がアサ一 卜 された場合に ミ ス している該当ェ ン ト リ の更新を行わずに前記主記憶装置へ直接ア ク セスを行う ステッ プを有する こ とを特徴とする請求項 15に記載の制御方 法。 17. 前記主記憶装置へ直接ア ク セスを行う ステ ッ プは、 前記識別信号がアサー ト された時に前記主記憶装置からの 1 ェン ト リ 分のデータ取込みを制御するステ ッ プと、 該データ取込み制御に基づき外部のバスからデータを取り 込んで一時的に格納する ステ ッ プと、 該一時的に格納されたデータをキャ ッ シュ · ミ ス時に選択 して前記プロセ ッサに送出するステッ プとを有する こ とを特 徴とする請求項 16に記載の制御方法。
类似技术:
公开号 | 公开日 | 专利标题 Calder et al.1996|Predictive sequential associative cache US8429350B2|2013-04-23|Cache line use history based done bit modification to D-cache replacement scheme US6505287B2|2003-01-07|Virtual channel memory access controlling circuit EP0052194B1|1985-08-28|Paging data processing apparatus US5809530A|1998-09-15|Method and apparatus for processing multiple cache misses using reload folding and store merging DE60102017T2|2004-11-25|Räumungsfilter für adressenübersetzungspuffer US6920530B2|2005-07-19|Scheme for reordering instructions via an instruction caching mechanism EP0329942B1|1995-04-26|Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage KR100274327B1|2000-12-15|캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법 US8909871B2|2014-12-09|Data processing system and method for reducing cache pollution by write stream memory access patterns KR100734529B1|2007-07-04|밀접하게 결합된 다중 프로세서를 위한 고속의 다중 스레딩 US6295594B1|2001-09-25|Dynamic memory allocation suitable for stride-based prefetching KR100617663B1|2006-08-28|캐시 메모리 내 태그 액세스 및 데이터 액세스의 분리방법 및 장치 US7257697B2|2007-08-14|Processing system with general purpose execution unit and separate independently operating data string manipulation unit EP0637800B1|2003-02-19|Data processor having cache memory US7493452B2|2009-02-17|Method to efficiently prefetch and batch compiler-assisted software cache accesses US7246204B2|2007-07-17|Pre-fetch control device, data processing apparatus and pre-fetch control method US5586297A|1996-12-17|Partial cache line write transactions in a computing system with a write back cache JP3874022B2|2007-01-31|コンピュータシステム JP3412575B2|2003-06-03|命令履歴キャッシングを使用して推測的に命令を実行する回路、データ処理システム、およびそのための方法 JP3618385B2|2005-02-09|データをバッファリングする方法およびそのシステム US6742106B2|2004-05-25|Vector transfer system generating address error exception when vector to be transferred does not start and end on same memory page US5577227A|1996-11-19|Method for decreasing penalty resulting from a cache miss in multi-level cache system JP3548616B2|2004-07-28|情報処理装置 JP2618175B2|1997-06-11|キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル
同族专利:
公开号 | 公开日 EP0502206A1|1992-09-09| EP0502206A4|1994-03-09| JPH04125748A|1992-04-27| KR960008319B1|1996-06-24|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
1992-04-02| AK| Designated states|Kind code of ref document: A1 Designated state(s): KR US | 1992-04-02| AL| Designated countries for regional patents|Kind code of ref document: A1 Designated state(s): DE FR GB | 1992-05-15| WWE| Wipo information: entry into national phase|Ref document number: 1991916225 Country of ref document: EP | 1992-09-09| WWP| Wipo information: published in national office|Ref document number: 1991916225 Country of ref document: EP | 1998-08-13| WWW| Wipo information: withdrawn in national office|Ref document number: 1991916225 Country of ref document: EP |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 JP2/246102||1990-09-18|| JP2246102A|JPH04125748A|1990-09-18|1990-09-18|Cache memory control system|KR92701173A| KR960008319B1|1990-09-18|1991-09-18|프로세서 및 캐시 메모리를 포함하는 장치 및 캐시 메모리 제어방법| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|